---
title: Upgrade to v6
description: Guide for upgrading from Ultracite v5 to v6 with the new preset system.
---

Ultracite v6 introduces framework-specific presets that give you more control over which rules apply to your project. **This upgrade is non-breaking** for Next.js/React users.

## What Changed

v6 introduces [framework-specific presets](/configuration#framework-specific-configurations):

- [`ultracite/core`](/preset/core) - Base JavaScript/TypeScript rules
- [`ultracite/react`](/preset/react) - React-specific rules
- [`ultracite/next`](/preset/next) - Next.js-specific rules
- [`ultracite/solid`](/preset/solid) - Solid.js rules
- [`ultracite/vue`](/preset/vue) - Vue.js rules
- [`ultracite/svelte`](/preset/svelte) - Svelte rules
- [`ultracite/qwik`](/preset/qwik) - Qwik rules
- [`ultracite/angular`](/preset/angular) - Angular HTML parser
- [`ultracite/remix`](/preset/remix) - File-based routing support

## Migration

### Next.js/React Projects

Update your `biome.jsonc` to extend the appropriate presets:

```jsonc title="biome.jsonc"
{
  "extends": ["ultracite/core", "ultracite/react", "ultracite/next"]
}
```

### Non-React Projects

Switch to the core preset if you're not using React:

```jsonc title="biome.jsonc"
{
  "extends": ["ultracite/core"]
}
```

### Other Frameworks

Use the appropriate preset for your framework:

```jsonc title="biome.jsonc"
{
  // Solid.js
  "extends": ["ultracite/core", "ultracite/solid"]

  // Vue.js
  "extends": ["ultracite/core", "ultracite/vue"]

  // Svelte
  "extends": ["ultracite/core", "ultracite/svelte"]

  // Qwik
  "extends": ["ultracite/core", "ultracite/qwik"]

  // Angular
  "extends": ["ultracite/core", "ultracite/angular"]
}
```

### Multi-Framework Projects

Combine presets as needed:

```jsonc title="biome.jsonc"
{
  "extends": ["ultracite/core", "ultracite/react", "ultracite/solid"]
}
```
